//package com.mh.other.netty.socket;
//
//import android.content.Intent;
//import android.content.SharedPreferences;
//import android.media.AudioFormat;
//import android.media.AudioRecord;
//import android.media.MediaRecorder;
//import android.os.Bundle;
//import android.os.Environment;
//import android.os.Handler;
//import android.os.Message;
//import android.support.v7.app.AppCompatActivity;
//import android.util.Log;
//import android.view.MotionEvent;
//import android.view.View;
//import android.widget.ImageView;
//import android.widget.RelativeLayout;
//import android.widget.TextView;
//import android.widget.Toast;
//import android.widget.ToggleButton;
//
//import com.google.gson.Gson;
//import com.google.gson.reflect.TypeToken;
//import com.speex.util.SpeexUtil;
//
//import java.io.BufferedOutputStream;
//import java.io.DataOutputStream;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.io.OutputStream;
//import java.lang.reflect.Type;
//import java.net.InetSocketAddress;
//import java.net.Socket;
//import java.net.SocketAddress;
//import java.net.URLDecoder;
//import java.net.UnknownHostException;
//import java.util.ArrayList;
//import java.util.List;
//
//import bean.AreaBean;
//import bean.LoginBean;
//import butterknife.Bind;
//import butterknife.ButterKnife;
//import butterknife.OnClick;
//import butterknife.OnTouch;
//import de.greenrobot.event.EventBus;
//import de.greenrobot.event.Subscribe;
//import de.greenrobot.event.ThreadMode;
//import okhttp3.Call;
//import okhttp3.Callback;
//import okhttp3.MediaType;
//import okhttp3.OkHttpClient;
//import okhttp3.Request;
//import okhttp3.RequestBody;
//import okhttp3.Response;
//import resource.Node;
//import resource.NodeResource;
//import views.MyScrollView;
//import views.TreeListView;
//
//public class MainActivity extends AppCompatActivity {
//
//
//    @Bind(R.id.power)
//    ImageView power;
//    @Bind(R.id.play)
//    ImageView play;
//    @Bind(R.id.preview)
//    ImageView preview;
//    @Bind(R.id.next)
//    ImageView next;
//    @Bind(R.id.decrease)
//    ImageView decrease;
//    @Bind(R.id.increase)
//    ImageView increase;
//    @Bind(R.id.recycle)
//    ImageView recycle;
//    @Bind(R.id.jd)
//    ImageView jd;
//    @Bind(R.id.jt)
//    ImageView jt;
//    @Bind(R.id.jh)
//    ImageView jh;
//    @Bind(R.id.za)
//    ImageView za;
//    @Bind(R.id.xf)
//    ImageView xf;
//    @Bind(R.id.gc)
//    ImageView gc;
//    @Bind(R.id.talk)
//    ImageView talk;
//    @Bind(R.id.sb)
//    ToggleButton sb;
//    @Bind(R.id.popwindow)
//    RelativeLayout popwindow;
//    @Bind(R.id.scrollView)
//    MyScrollView scrollView;
//    @Bind(R.id.set)
//    ImageView set;
//    @Bind(R.id.vol)
//    TextView vol;
//
//    private String ip1;
//    private String port1;
//
//    private Socket socket, socket1;
//    private boolean isLink = false;
//    private boolean isjt, isjh, isza, isxf, isgc, ispower, isplay, isrecycle, isjd, isTalk = false;
//    private int volume;
//    private Handler handler = null;
//    //开关
//    private static int TURN_ON = 1; //开
//    private static int TURN_OFF = 0; //关
//    //设备类型
//    private static int LAMP = 3; //警灯
//    private static int VOLUME = 4; //音量
//    private static int ALARM = 5; //警报器
//    private static int MUSIC = 9; //音乐
//    private static int POWER = 10; //功放
//    //警报
//    private static int RECORD_STOP = 0; //停止
//    private static int RECORD_GREET = 1; //交通
//    private static int RECORD_RESCUE = 2; //救护
//    private static int RECORD_POLICE = 3; //治安
//    private static int RECORD_FIRE = 4; //消防
//    private static int RECORD_PROJECT = 5; //工程
//    //音量
//    private static int TURN_LOUD0 = 1; //音量0
//    private static int TURN_LOUD1 = 2; //音量1
//    private static int TURN_LOUD2 = 3; //音量2
//    private static int TURN_LOUD3 = 4; //音量3
//    private static int TURN_LOUD4 = 5; //音量4
//    //音乐
//    private static int MUSIC_PLAY = 1; //播放
//    private static int MUSIC_STOP = 2; //停止
//    private static int MUSIC_PREVIEW = 3; //上一首
//    private static int MUSIC_NEXT = 4; //上一首
//    private static int MUSIC_REECYCLEON = 5; //循环开
//    private static int MUSIC_REECYCLEOFF = 6; //循环关
//
//    //录音,speex压缩
//    private short[] mAudioRecordData;
//    private File mAudioFile;
//    private AudioRecord mAudioRecord;
//    private SpeexUtil speex;
//
//    private static int TALK_ON = 25; //播放
//    private static int TALK_OFF = 26; //停止
//
//    private int resp; //301后面的数/24
//    private boolean isPort = false;
//    private int port, isOnline; //返回的喊话端口号,后面的在线判断
//    private int num; //301后面的数的数量/24
//    private String deviceName;
//
//    //设备
//    private String oneid;
//    private AreaBean a;
//    private String[] value, checkedid, twoid, twoname, twopid, threeid, threename, threepid, fourid, fourname, fourpid;
//    private String[] twoid1, twoname1, tworid1, twolgt, twolat;
//    private TreeListView listView;
//    private List<NodeResource> list = new ArrayList<NodeResource>();
//    private int level1, level2, level3, level4, count1, count2, count3, count4, count5, count6;
//    private boolean isi1, isj1, isk1, hasDevice;
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
//        httplogin();
//        handler = new Handler();
//        ButterKnife.bind(this);
//        try {
//            SharedPreferences p = getSharedPreferences("data", 0);
//            ip1 = p.getString("ip1", "47.104.7.66");
//            port1 = p.getString("port1", "9001");
//            volume = p.getInt("vol", 4);
//            vol.setText(Integer.toString(volume-1));
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        EventBus.getDefault().register(this);
//        init();
//        handler1.post(runnable1);
//        level1 = -1;
//        count1 = 0;
//        isi1 = false;
//        isj1 = false;
//        isk1 = false;
////        prepare();
////        aa();
//    }
//
//    private void allsb() {
//        value = new String[listView.get().size()];
//        int a = 0;
//        for (int i = 0; i < listView.get().size(); i++) {
//            if (listView.get().get(i).isLeaf() && listView.get().get(i).isChecked()) {
//                hasDevice = true;
//                value[a] = listView.get().get(i).getValue();
//                a++;
//            }
//        }
//
//        int b = 0;
//        for (int i = 0; i < value.length; i++) {
//            if (value[i] != null) {
//                b++;
//                Log.v("Music", value[i]);
//            }
//        }
//        checkedid = new String[b]; //勾选的所有设备的id
//        for (int j = 0; j < checkedid.length; j++) {
//            checkedid[j] = value[j];
//        }
//    }
//
//    private void httplogin() {
//        new Thread() {
//            @Override
//            public void run() {
//                String username = "admin";
//                String userpwd = "123456";
//                String appid = "3f6a267c66cfdc18e5bef2f89dea07eb";
//                String time = Long.toString(System.currentTimeMillis());
//                String signature = MD5Util.MD5(("login" + appid + time));
//                String url = "http://47.104.7.66/index.php/Home/AndroidAPI/login?signature=" + signature;
//                OkHttpClient client = new OkHttpClient();
//                String json = "{\"time\":\"" + time + "\",\"data\":{\"username\":\"" + username + "\",\"userpwd\":\"" + userpwd + "\"}}";
//                MediaType JSON = MediaType.parse("application/json; charset=utf-8");
//                RequestBody body = RequestBody.create(JSON, json);
//                Request request = new Request.Builder().url(url).post(body).build();
//                client.newCall(request).enqueue(new Callback() {
//
//                    @Override
//                    public void onFailure(Call call, IOException e) {
//                        mHandler.sendEmptyMessage(111);
//                    }
//
//                    @Override
//                    public void onResponse(Call call, Response response) throws IOException {
//                        String result = response.body().string();
//                        String str = URLDecoder.decode(result, "UTF-8");
//                        Log.i("Music", str);
//                        Gson gson = new Gson();
//                        Type type = new TypeToken<LoginBean>() {
//                        }.getType();
//                        final LoginBean l = gson.fromJson(result, type);
//                        try {
//                            oneid = l.getData().getLogin().getId();
//                            sblist();
//                        } catch (NullPointerException e) {
//                            e.printStackTrace();
//                        }
//                    }
//                });
//            }
//        }.start();
//    }
//
//    private void sblist() {
//        new Thread() {
//            @Override
//            public void run() {
//                String appid = "3f6a267c66cfdc18e5bef2f89dea07eb";
//                String time = Long.toString(System.currentTimeMillis());
//                String signature = MD5Util.MD5(("getAreaAndDevice" + appid + time));
//                String url = "http://47.104.7.66/index.php/Home/AndroidAPI/getAreaAndDevice?signature=" + signature;
//                OkHttpClient client = new OkHttpClient();
//                String json = "{\"time\":\"" + time + "\",\"data\":{\"id\":\"" + oneid + "\"}}";
//                Log.v("Music", oneid);
//                MediaType JSON = MediaType.parse("application/json; charset=utf-8");
//                RequestBody body = RequestBody.create(JSON, json);
//                Request request = new Request.Builder().url(url).post(body).build();
//                client.newCall(request).enqueue(new Callback() {
//
//                    @Override
//                    public void onFailure(Call call, IOException e) {
//                        mHandler.sendEmptyMessage(111);
//                    }
//
//                    @Override
//                    public void onResponse(Call call, Response response) throws IOException {
//                        String result = response.body().string();
//                        String str = URLDecoder.decode(result, "UTF-8");
//                        Log.i("Music", str);
//                        Gson gson = new Gson();
//                        Type type = new TypeToken<AreaBean>() {
//                        }.getType();
//                        a = gson.fromJson(result, type);
//                        mHandler.sendEmptyMessage(Integer.parseInt(a.getCode()));
//                    }
//                });
//            }
//        }.start();
//    }
//
//    private Handler mHandler = new Handler() {
//        @Override
//        public void handleMessage(Message msg) {
//            super.handleMessage(msg);
//            switch (msg.what) {
//                case 0:
//                    if (a.getData().getAreaList().size() != 0) {
//                        twoid = new String[a.getData().getAreaList().size()];
//                        twoname = new String[a.getData().getAreaList().size()];
//                        twopid = new String[a.getData().getAreaList().size()];
//                        for (int i = 0; i < twoid.length; i++) {
//                            twoid[i] = a.getData().getAreaList().get(i).getId();
//                            twoname[i] = a.getData().getAreaList().get(i).getName();
//                            twopid[i] = a.getData().getAreaList().get(i).getPid();
//                            if (a.getData().getAreaList().get(i).getChildren() != null) {
//                                threeid = new String[a.getData().getAreaList().get(i).getChildren().size()];
//                                threename = new String[a.getData().getAreaList().get(i).getChildren().size()];
//                                threepid = new String[a.getData().getAreaList().get(i).getChildren().size()];
//                                for (int j = 0; j < threeid.length; j++) {
//                                    threeid[j] = a.getData().getAreaList().get(i).getChildren().get(j).getId();
//                                    threename[j] = a.getData().getAreaList().get(i).getChildren().get(j).getName();
//                                    threepid[j] = a.getData().getAreaList().get(i).getChildren().get(j).getPid();
//                                    if (a.getData().getAreaList().get(i).getChildren().get(j).getChildren() != null) {
//                                        fourid = new String[a.getData().getAreaList().get(i).getChildren().get(j).getChildren().size()];
//                                        fourname = new String[a.getData().getAreaList().get(i).getChildren().get(j).getChildren().size()];
//                                        fourpid = new String[a.getData().getAreaList().get(i).getChildren().get(j).getChildren().size()];
//                                        for (int k = 0; k < fourid.length; k++) {
//                                            fourid[k] = a.getData().getAreaList().get(i).getChildren().get(j).getChildren().get(k).getId();
//                                            fourname[k] = a.getData().getAreaList().get(i).getChildren().get(j).getChildren().get(k).getName();
//                                            fourpid[k] = a.getData().getAreaList().get(i).getChildren().get(j).getChildren().get(k).getPid();
//                                        }
//                                    }
//                                }
//                            }
//                        }
//                    }
//
//                    if (a.getData().getDeviceList() != null) {
//                        twoid1 = new String[a.getData().getDeviceList().size()];
//                        twoname1 = new String[a.getData().getDeviceList().size()];
//                        tworid1 = new String[a.getData().getDeviceList().size()];
//                        twolgt = new String[a.getData().getDeviceList().size()];
//                        twolat = new String[a.getData().getDeviceList().size()];
//                        for (int i = 0; i < twoname1.length; i++) {
//                            twoid1[i] = a.getData().getDeviceList().get(i).getId();
//                            twoname1[i] = a.getData().getDeviceList().get(i).getName();
//                            tworid1[i] = a.getData().getDeviceList().get(i).getRid();
//                            twolgt[i] = a.getData().getDeviceList().get(i).getLgt();
//                            twolat[i] = a.getData().getDeviceList().get(i).getLat();
//                            Log.v("Music", twoid1[i]);
//                        }
//                    }
//
//                    int a = 0;
//                    if (twoid != null) {
//                        for (int i = 0; i < twoid.length; i++) {
//                            list.add(new NodeResource(Integer.toString(level1), Integer.toString(a + count1), twoname[i], twoid[i]));
//                            Log.v("Music", Integer.toString(level1) + "," + Integer.toString(a + count1) + "," + twoname[i]);
//                            level2 = a + count1;
//                            count2 = count1 + 1;
//                            count3 = count1 + 1;
//                            if (a < 1) {
//                                a++;
//                            }
////                            if (!isi1) {
////                                isi1 = true;
//                            int a1 = 0;
//                            if (tworid1 != null) {
//                                for (int i1 = 0; i1 < tworid1.length; i1++) {
//                                    if (tworid1[i1].equals(twoid[i])) {
//                                        list.add(new NodeResource(Integer.toString(level2), Integer.toString(a1 + count2), twoname1[i1], twoid1[i1]));
//                                        Log.v("Music", Integer.toString(level2) + "," + Integer.toString(a1 + count2) + "," + twoname1[i]);
//                                        count3 = a1 + count2 + 1;
//                                        count1 = a1 + count2;
//                                        a1++;
//                                    }
//                                }
//                            }
////                            }
//                            int a2 = 0;
//                            if (threepid != null) {
//                                for (int j = 0; j < threepid.length; j++) {
//                                    if (threepid[j].equals(twoid[i])) {
//                                        list.add(new NodeResource(Integer.toString(level2), Integer.toString(a2 + count3), threename[j], threeid[j]));
//                                        Log.v("Music", Integer.toString(level2) + "," + Integer.toString(a2 + count3) + "," + threename[j]);
//                                        level3 = a2 + count3;
//                                        count4 = a2 + count3 + 1;
//                                        count1 = a2 + count3;
//                                        count5 = a2 + count3 + 1;
//                                        if (a2 < 1) {
//                                            a2++;
//                                        }
////                                        if (!isj1) {
////                                            isj1 = true;
//                                        int a3 = 0;
//                                        if (tworid1 != null) {
//                                            for (int j1 = 0; j1 < tworid1.length; j1++) {
//                                                if (tworid1[j1].equals(threeid[j])) {
//                                                    list.add(new NodeResource(Integer.toString(level3), Integer.toString(a3 + count4), twoname1[j1], twoid1[j1]));
//                                                    Log.v("Music", Integer.toString(level3) + "," + Integer.toString(a3 + count4) + "," + twoname1[j1]);
//                                                    count5 = a3 + count4 + 1;
//                                                    count3 = a3 + count4;
//                                                    count1 = a3 + count4;
//                                                    a3++;
//                                                }
//                                            }
//                                        }
////                                        }
//                                        int a4 = 0;
//                                        if (fourpid != null) {
//                                            for (int k = 0; k < fourpid.length; k++) {
//                                                if (fourpid[k].equals(threeid[j])) {
//                                                    list.add(new NodeResource(Integer.toString(level3), Integer.toString(a4 + count5), fourname[k], fourid[k]));
//                                                    Log.v("Music", Integer.toString(level3) + "," + Integer.toString(a4 + count5) + "," + fourname[k]);
//                                                    level4 = a4 + count5;
//                                                    count6 = a4 + count5 + 1;
//                                                    count5 = a4 + count5;
//                                                    count3 = a4 + count5;
//                                                    count1 = a4 + count5;
//                                                    if (a4 < 1) {
//                                                        a4++;
//                                                    }
////                                                    if (!isk1) {
////                                                        isk1 = true;
//                                                    int a5 = 0;
//                                                    if (tworid1 != null) {
//                                                        for (int k1 = 0; k1 < tworid1.length; k1++) {
//                                                            if (tworid1[k1].equals(fourid[k])) {
//                                                                list.add(new NodeResource(Integer.toString(level4), Integer.toString(a5 + count6), twoname1[k1], twoid1[k1]));
//                                                                Log.v("Music", Integer.toString(level4) + "," + Integer.toString(a5 + count6) + "," + twoname1[k1]);
//                                                                count5 = a5 + count6;
//                                                                count3 = a5 + count6;
//                                                                count1 = a5 + count6;
//                                                                a5++;
//                                                            }
//                                                        }
//                                                    }
////                                                    }
//                                                }
//                                            }
//                                        }
//                                    }
//                                }
//                            }
//                        }
//                    }
//
//                    try {
//                        RelativeLayout rl = new RelativeLayout(MainActivity.this);
//                        rl.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
//                        listView = new TreeListView(MainActivity.this, list);
//                        List<Node> resultNode = listView.mNodeList;
//
//                        scrollView.addView(listView);
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//
//                    break;
//                case 111:
//                    Toast.makeText(MainActivity.this, "服务器连接超时", Toast.LENGTH_SHORT).show();
//                    break;
//            }
//        }
//    };
//
//    private void aa() {
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                try {
//                    File file = new File(Environment.getExternalStorageDirectory(),
//                            "test.pcm");
//                    FileInputStream is = new FileInputStream(file);
//                    byte[] b = new byte[is.available()];
//                    Log.v("Music", Integer.toString(is.available()));
//                    is.read(b);
//
//                    DataOutputStream dos = new DataOutputStream(
//                            new BufferedOutputStream(
//                                    new FileOutputStream(mAudioFile)));
//                    int sizeInShorts = speex.getFrameSize();
//                    int sizeInBytes = speex.getFrameSize();
//                    short[] dst = new short[sizeInBytes];
//                    for (int i = 0; i < b.length / 320; i++) {
//                        System.arraycopy(b, 0 + 320 * i, DataUtils.toByteArray(dst), 0, sizeInShorts);
//                        byte[] encoded = new byte[sizeInBytes];
//                        int count = speex.encode(dst, 0, encoded,
//                                sizeInShorts);
//                        Log.v("Music", count + "," + dst.length + "," + encoded.length + "," + sizeInShorts);
//                        if (count > 0) {
//                            byte[] result1 = new byte[4 + count];
//                            System.arraycopy(DataUtils.intToBytes(count), 0, result1, 0, 4);
//                            System.arraycopy(encoded, 0, result1, 4, count);
//                            dos.write(result1, 0, 4 + count);
//                        }
//                    }
//                    dos.flush();
//                    dos.close();
//                } catch (Exception e) {
//                    e.printStackTrace();
//                }
//            }
//        }).start();
//    }
//
//    Handler handler1 = new Handler();
//    Runnable runnable1 = new Runnable() {
//
//        @Override
//        public void run() {
//            // 定时器
//            try {
//                if (SocketServer.getInstance().isServerClose()) {
//                    init();
//                }
//                handler1.postDelayed(this, 8000);
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//        }
//    };
//
//    private void init() {
//        new Thread() {
//            public void run() {
//                try {
//                    socket = new Socket();
//                    SocketAddress socAddress = new InetSocketAddress(ip1, Integer.parseInt(port1));
////                    SocketAddress socAddress = new InetSocketAddress("192.168.3.154", 9001);
//                    socket.connect(socAddress, 5000);
//                    SocketServer.getInstance().setSocket(socket);
//                    SocketServer.getInstance().StartListen();
//                    CMD(1, 64);
//                    login();
//                    isLink = true;
//                } catch (UnknownHostException e) {
//                    e.printStackTrace();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                    isLink = false;
//                }
//            }
//        }.start();
//
//    }
//
//    private void init1(final int port) {
//        new Thread() {
//            public void run() {
//                try {
//                    socket1 = new Socket();
//                    SocketAddress socAddress = new InetSocketAddress(ip1, port);
////                    SocketAddress socAddress = new InetSocketAddress("192.168.3.154", port);
//                    socket1.connect(socAddress, 5000);
//                } catch (Exception e) {
//                    e.printStackTrace();
//                }
//            }
//        }.start();
//
//    }
//
//    @OnClick({R.id.set, R.id.sb, R.id.power, R.id.play, R.id.recycle, R.id.jd, R.id.jt, R.id.jh, R.id.za, R.id.xf, R.id.gc, R.id.talk})
//    public void onViewClicked(View view) {
//        switch (view.getId()) {
//            case R.id.set:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                Intent i = new Intent(this, Set.class);
//                startActivity(i);
//                break;
//            case R.id.sb:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (sb.isChecked()) {
//                    popwindow.setVisibility(View.VISIBLE);
//                } else {
//                    popwindow.setVisibility(View.INVISIBLE);
//                }
//                break;
//            case R.id.power:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (ispower) {
//                    ispower = false;
//                    power.setImageResource(R.drawable.power);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), POWER, TURN_ON);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                } else {
//                    ispower = true;
//                    power.setImageResource(R.drawable.power1);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), POWER, TURN_OFF);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.play:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (isplay) {
//                    isplay = false;
//                    play.setImageResource(R.drawable.play);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    handler.post(runnableUi);
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), MUSIC, MUSIC_PLAY);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                } else {
//                    isplay = true;
//                    play.setImageResource(R.drawable.pause);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), MUSIC, MUSIC_STOP);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.recycle:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (isrecycle) {
//                    isrecycle = false;
//                    recycle.setImageResource(R.drawable.recycle);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), MUSIC, MUSIC_REECYCLEON);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                } else {
//                    isrecycle = true;
//                    recycle.setImageResource(R.drawable.recycle1);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), MUSIC, MUSIC_REECYCLEOFF);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.jd:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (isjd) {
//                    isjd = false;
//                    jd.setImageResource(R.drawable.jd);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), LAMP, TURN_ON);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                } else {
//                    isjd = true;
//                    jd.setImageResource(R.drawable.jd1);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), LAMP, TURN_OFF);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.jt:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (isjt) {
//                    isjt = false;
//                    jt.setImageResource(R.drawable.jt);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_STOP);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                } else {
//                    isplay = false;
//                    play.setImageResource(R.drawable.play);
//                    isjt = true;
//                    isjh = false;
//                    isza = false;
//                    isxf = false;
//                    isgc = false;
//                    jt.setImageResource(R.drawable.jt1);
//                    jh.setImageResource(R.drawable.jh);
//                    za.setImageResource(R.drawable.za);
//                    xf.setImageResource(R.drawable.xf);
//                    gc.setImageResource(R.drawable.gc);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_GREET);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.jh:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (isjh) {
//                    isjh = false;
//                    jh.setImageResource(R.drawable.jh);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_STOP);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                } else {
//                    isplay = false;
//                    play.setImageResource(R.drawable.play);
//                    isjt = false;
//                    isjh = true;
//                    isza = false;
//                    isxf = false;
//                    isgc = false;
//                    jt.setImageResource(R.drawable.jt);
//                    jh.setImageResource(R.drawable.jh1);
//                    za.setImageResource(R.drawable.za);
//                    xf.setImageResource(R.drawable.xf);
//                    gc.setImageResource(R.drawable.gc);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_RESCUE);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.za:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (isza) {
//                    isza = false;
//                    za.setImageResource(R.drawable.za);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_STOP);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                } else {
//                    isplay = false;
//                    play.setImageResource(R.drawable.play);
//                    isjt = false;
//                    isjh = false;
//                    isza = true;
//                    isxf = false;
//                    isgc = false;
//                    jt.setImageResource(R.drawable.jt);
//                    jh.setImageResource(R.drawable.jh);
//                    za.setImageResource(R.drawable.za1);
//                    xf.setImageResource(R.drawable.xf);
//                    gc.setImageResource(R.drawable.gc);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_POLICE);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.xf:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (isxf) {
//                    isxf = false;
//                    xf.setImageResource(R.drawable.xf);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_STOP);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                } else {
//                    isplay = false;
//                    play.setImageResource(R.drawable.play);
//                    isjt = false;
//                    isjh = false;
//                    isza = false;
//                    isxf = true;
//                    isgc = false;
//                    jt.setImageResource(R.drawable.jt);
//                    jh.setImageResource(R.drawable.jh);
//                    za.setImageResource(R.drawable.za);
//                    xf.setImageResource(R.drawable.xf1);
//                    gc.setImageResource(R.drawable.gc);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_FIRE);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.gc:
//                if (isTalk) {
//                    Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                    break;
//                }
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (isgc) {
//                    isgc = false;
//                    gc.setImageResource(R.drawable.gc);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_STOP);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                } else {
//                    isplay = false;
//                    play.setImageResource(R.drawable.play);
//                    isjt = false;
//                    isjh = false;
//                    isza = false;
//                    isxf = false;
//                    isgc = true;
//                    jt.setImageResource(R.drawable.jt);
//                    jh.setImageResource(R.drawable.jh);
//                    za.setImageResource(R.drawable.za);
//                    xf.setImageResource(R.drawable.xf);
//                    gc.setImageResource(R.drawable.gc1);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                handler1.removeCallbacks(runnable1);
//                                allsb();
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    CMD(601, 12);
//                                    body(Integer.parseInt(checkedid[i]), ALARM, RECORD_PROJECT);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                                handler1.post(runnable1);
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                }
//                break;
//            case R.id.talk:
//                if (listView == null) {
//                    break;
//                } else {
//                    if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                        Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                        break;
//                    }
//                }
//                if (isTalk) {
//                    isTalk = false;
//                    talk.setImageResource(R.drawable.talk);
//                    if (mAudioRecord != null) {
//                        mAudioRecord.release();
//                        mAudioRecord = null;
//                    }
//                    //断开喊话连接
//                    if (socket1 != null) {
//                        try {
//                            socket1.close();
//                        } catch (Exception e) {
//                            e.printStackTrace();
//                        }
//                    }
//                    //停止心跳
//                    handler1.removeCallbacks(runnable1);
//                    try {
//                        new Thread() {
//                            public void run() {
//                                allsb();
//                                CMD(TALK_OFF, 8 * checkedid.length);
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    body1(Integer.parseInt(checkedid[i]), TURN_OFF);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                    //恢复心跳
//                    handler1.post(runnable1);
//                } else {
//                    isTalk = true;
//                    talk.setImageResource(R.drawable.talk1);
//                    //停止心跳
//                    handler1.removeCallbacks(runnable1);
//                    //建立喊话连接
//                    try {
//                        new Thread() {
//                            public void run() {
//                                allsb();
//                                CMD(TALK_ON, 8 * checkedid.length);
//                                for (int i = 0; i < checkedid.length; i++) {
//                                    Log.v("Music", "did" + checkedid[i]);
//                                    body1(Integer.parseInt(checkedid[i]), TURN_ON);
//                                }
//                                if (!isLink) {
//                                    Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                }
//                            }
//                        }.start();
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                    //恢复心跳
//                    handler1.post(runnable1);
//                    //喊话
//                    prepare();
//                    start();
//                }
//                break;
//        }
//    }
//
//    Runnable runnableUi = new Runnable() {
//        @Override
//        public void run() {
//            isjt = false;
//            isjh = false;
//            isza = false;
//            isxf = false;
//            isgc = false;
//            jt.setImageResource(R.drawable.jt);
//            jh.setImageResource(R.drawable.jh);
//            za.setImageResource(R.drawable.za);
//            xf.setImageResource(R.drawable.xf);
//            gc.setImageResource(R.drawable.gc);
//        }
//    };
//
//    @OnTouch({R.id.preview, R.id.next, R.id.increase, R.id.decrease})
//    public boolean viewTouchs(View view, MotionEvent event) {
//        switch (view.getId()) {
//            case R.id.preview:
//                switch (event.getAction()) {
//                    case MotionEvent.ACTION_DOWN:
//                        if (isTalk) {
//                            Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                            break;
//                        }
//                        if (listView == null) {
//                            break;
//                        } else {
//                            if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                                Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                                break;
//                            }
//                        }
//                        //上一首
//                        preview.setImageResource(R.drawable.preview1);
//                        try {
//                            new Thread() {
//                                public void run() {
//                                    handler1.removeCallbacks(runnable1);
//                                    allsb();
//                                    for (int i = 0; i < checkedid.length; i++) {
//                                        CMD(601, 12);
//                                        body(Integer.parseInt(checkedid[i]), MUSIC, MUSIC_PREVIEW);
//                                    }
//                                    if (!isLink) {
//                                        Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                    }
//                                    handler1.post(runnable1);
//                                }
//                            }.start();
//                        } catch (Exception e) {
//                            e.printStackTrace();
//                        }
//                        break;
//                    case MotionEvent.ACTION_UP:
//                        preview.setImageResource(R.drawable.preview);
//                        break;
//                }
//                break;
//            case R.id.next:
//                switch (event.getAction()) {
//                    case MotionEvent.ACTION_DOWN:
//                        if (isTalk) {
//                            Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                            break;
//                        }
//                        if (listView == null) {
//                            break;
//                        } else {
//                            if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                                Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                                break;
//                            }
//                        }
//                        //下一首
//                        next.setImageResource(R.drawable.next1);
//                        try {
//                            new Thread() {
//                                public void run() {
//                                    handler1.removeCallbacks(runnable1);
//                                    allsb();
//                                    for (int i = 0; i < checkedid.length; i++) {
//                                        CMD(601, 12);
//                                        body(Integer.parseInt(checkedid[i]), MUSIC, MUSIC_NEXT);
//                                    }
//                                    if (!isLink) {
//                                        Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                    }
//                                    handler1.post(runnable1);
//                                }
//                            }.start();
//                        } catch (Exception e) {
//                            e.printStackTrace();
//                        }
//                        break;
//                    case MotionEvent.ACTION_UP:
//                        next.setImageResource(R.drawable.next);
//                        break;
//                }
//                break;
//            case R.id.increase:
//                switch (event.getAction()) {
//                    case MotionEvent.ACTION_DOWN:
//                        if (isTalk) {
//                            Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                            break;
//                        }
//                        if (listView == null) {
//                            break;
//                        } else {
//                            if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                                Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                                break;
//                            }
//                        }
//                        increase.setImageResource(R.drawable.increase1);
//                        //音量+
//                        volume++;
//                        if (volume > 5) {
//                            volume = 5;
//                        }
//                        vol.setText(Integer.toString(volume-1));
//                        SharedPreferences.Editor sp = getSharedPreferences("data", 0).edit();
//                        sp.putInt("vol", volume);
//                        sp.putInt("vol", volume);
//                        sp.commit();
//                        try {
//                            new Thread() {
//                                public void run() {
//                                    handler1.removeCallbacks(runnable1);
//                                    allsb();
//                                    for (int i = 0; i < checkedid.length; i++) {
//                                        CMD(601, 12);
//                                        body(Integer.parseInt(checkedid[i]), VOLUME, volume);
//                                    }
//                                    if (!isLink) {
//                                        Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                    }
//                                    handler1.post(runnable1);
//                                }
//                            }.start();
//                        } catch (Exception e) {
//                            e.printStackTrace();
//                        }
//                        break;
//                    case MotionEvent.ACTION_UP:
//                        increase.setImageResource(R.drawable.increase);
//                        break;
//                }
//                break;
//            case R.id.decrease:
//                switch (event.getAction()) {
//                    case MotionEvent.ACTION_DOWN:
//                        if (isTalk) {
//                            Toast.makeText(this, "请先关闭喊话", Toast.LENGTH_SHORT).show();
//                            break;
//                        }
//                        if (listView == null) {
//                            break;
//                        } else {
//                            if (listView.get().size() == 0) {//listVIew.get()是获取选中的项
//                                Toast.makeText(this, "请先勾选设备", Toast.LENGTH_SHORT).show();
//                                break;
//                            }
//                        }
//                        decrease.setImageResource(R.drawable.decrease1);
//                        //音量-
//                        volume--;
//                        if (volume < 1) {
//                            volume = 1;
//                        }
//                        vol.setText(Integer.toString(volume-1));
//                        SharedPreferences.Editor sp = getSharedPreferences("data", 0).edit();
//                        sp.putInt("vol", volume);
//                        sp.putInt("vol", volume);
//                        sp.commit();
//                        try {
//                            new Thread() {
//                                public void run() {
//                                    handler1.removeCallbacks(runnable1);
//                                    allsb();
//                                    for (int i = 0; i < checkedid.length; i++) {
//                                        CMD(601, 12);
//                                        body(Integer.parseInt(checkedid[i]), VOLUME, volume);
//                                    }
//                                    if (!isLink) {
//                                        Toast.makeText(MainActivity.this, "与服务器通信异常", Toast.LENGTH_SHORT).show();
//                                    }
//                                    handler1.post(runnable1);
//                                }
//                            }.start();
//                        } catch (Exception e) {
//                            e.printStackTrace();
//                        }
//                        break;
//                    case MotionEvent.ACTION_UP:
//                        decrease.setImageResource(R.drawable.decrease);
//                        break;
//                }
//                break;
//        }
//        return true;
//    }
//
//    private void start() {
//        new Thread(new Runnable() {
//            public void run() {
//                try {
//                    mAudioRecord.startRecording();
//                    DataOutputStream dos = new DataOutputStream(
//                            new BufferedOutputStream(
//                                    new FileOutputStream(mAudioFile)));
//                    int sizeInShorts = speex.getFrameSize();
//                    short[] audioData = new short[sizeInShorts];
//                    int sizeInBytes = speex.getFrameSize();
//                    while (mAudioRecord.getRecordingState() == AudioRecord.RECORDSTATE_RECORDING) {
//                        mAudioRecord.read(audioData, 0,
//                                sizeInShorts);
//                        Log.v("Music", audioData.length + "," + sizeInShorts);
//                        short[] dst = new short[sizeInBytes];
//                        System.arraycopy(audioData, 0, dst, 0, 160);
//                        byte[] encoded = new byte[sizeInBytes];
//                        int count = speex.encode(dst, 0, encoded,
//                                160);
//                        Log.v("Music", count + "," + dst.length + "," + encoded.length);
//                        if (count > 0) {
//                            byte[] result = new byte[4 + count];
//                            System.arraycopy(DataUtils.intToBytes(count), 0, result, 0, 4);
//                            System.arraycopy(encoded, 0, result, 4, count);
//                            dos.write(result, 0, 4 + count);
//                            //发送result
//                            sendCode(result);
//                        }
//                    }
//                    dos.flush();
//                    dos.close();
//                } catch (Exception e) {
//                    e.printStackTrace();
//                }
//            }
//        }).start();
//    }
//
//    public void sendCode(byte[] Code) {
//        OutputStream os;
//        try {
//            os = socket1.getOutputStream();
//            os.write(Code);
//            os.flush();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    private void prepare() {
//        if (Environment.getExternalStorageState().equals(
//                Environment.MEDIA_MOUNTED)) {
//            File file = new File(Environment.getExternalStorageDirectory()
//                    .getAbsolutePath() + "/audio/");
//            if (!file.exists()) {
//                file.mkdirs();
//            }
//            mAudioFile = new File(file, "test.spx");
//            if (mAudioFile.exists()) {
//                mAudioFile.delete();
//            }
//        }
//
//        try {
//            int sampleRateInHz = 8000;
//            int recordBufferSizeInBytes = AudioRecord.getMinBufferSize(
//                    sampleRateInHz, AudioFormat.CHANNEL_IN_MONO,
//                    AudioFormat.ENCODING_PCM_16BIT);
//            Log.d("TAG", "recordBufferSizeInBytes=" + recordBufferSizeInBytes);
//            mAudioRecordData = new short[recordBufferSizeInBytes];
//            mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
//                    sampleRateInHz, AudioFormat.CHANNEL_IN_MONO,
//                    AudioFormat.ENCODING_PCM_16BIT, recordBufferSizeInBytes);
//
//            speex = SpeexUtil.getInstance();
//            speex.open(8);
//
//        } catch (IllegalArgumentException e) {
//            e.printStackTrace();
//        }
//
//    }
//
//    private void CMD(int a, int b) {
//        byte[] CMD = new byte[12];
//        int Cmd = a;
//        int ContentSize = b;
//        float UTCtime = System.currentTimeMillis();
//        System.arraycopy(DataUtils.intToBytes(Cmd), 0, CMD, 0, 4);
//        System.arraycopy(DataUtils.intToBytes(ContentSize), 0, CMD, 4, 4);
//        System.arraycopy(DataUtils.float2byte(UTCtime), 0, CMD, 8, 4);
//        SocketServer.getInstance().sendCode(CMD);
//    }
//
//    private void login() {
//        byte[] login = new byte[64];
//        String loginName = "admin";
//        String password = "123456";
//        System.arraycopy(loginName.getBytes(), 0, login, 0, loginName.getBytes().length);
//        System.arraycopy(password.getBytes(), 0, login, 32, password.getBytes().length);
//        SocketServer.getInstance().sendCode(login);
//    }
//
//    private void body(int a, int b, int c) {
//        byte[] body = new byte[12];
//        int did = a;
//        int dtype = b;
//        int operation = c;
//        System.arraycopy(DataUtils.intToBytes(did), 0, body, 0, 4);
//        System.arraycopy(DataUtils.intToBytes(dtype), 0, body, 4, 4);
//        System.arraycopy(DataUtils.intToBytes(operation), 0, body, 8, 4);
//        SocketServer.getInstance().sendCode(body);
//    }
//
//    private void body1(int m, int n) {
//        byte[] body1 = new byte[8];
//        int did1 = m;
//        int dtype1 = n;
//        System.arraycopy(DataUtils.intToBytes(did1), 0, body1, 0, 4);
//        System.arraycopy(DataUtils.intToBytes(dtype1), 0, body1, 4, 4);
//        SocketServer.getInstance().sendCode(body1);
//    }
//
//    @Subscribe(threadMode = ThreadMode.MainThread)
//    public void onUserEvent(DataCode event) {
//        byte[] temp = event.getDataCode();
//        if (!isPort) {
//            byte[] cmd = new byte[4];
//            byte[] size = new byte[4];
//            System.arraycopy(temp, 0, cmd, 0, 4);
//            if (DataUtils.bufdate(cmd) == 301) {
//                isPort = true;
////                System.arraycopy(temp, 0 ,size, 4, 4);
////                resp = DataUtils.bufdate(size); //301后面的内容包大小
//            }
//        } else {
//            byte[] bport = new byte[4];
//            byte[] online = new byte[4];
//            System.arraycopy(temp, 0, bport, 0, 4);
//            port = DataUtils.bufdate(bport);
//            System.arraycopy(temp, 4 ,online, 0, 4);
//            isOnline = DataUtils.bufdate(online);
//            if (port == -1) {
//                Toast.makeText(this, "喊话端口异常", Toast.LENGTH_SHORT).show();
//            }else if (num == resp/24) {
//                init1(port);
//                num--;
//                return;
//            }
//            num--;
//            if (num == 0) {
//                isPort = false;
//            } else if (isOnline != 0) {
//                for (int i = 0;i < twoid1.length;i++) {
//                    if (port == Integer.parseInt(twoid1[i])) {
//                        deviceName = deviceName + ";" + twoname1[i];
//                    }
//                }
//                if (deviceName != null) {
//                    Toast.makeText(this, "设备" + deviceName + "不在线", Toast.LENGTH_SHORT).show();
//                }
//                deviceName = null;
//            }
//        }
//    }
//
//    @Override
//    public void onDestroy() {
//        super.onDestroy();
//        EventBus.getDefault().unregister(this);
//        handler1.removeCallbacks(runnable1);
//    }
//
//    @Override
//    public void onBackPressed() {
//        if (popwindow.getVisibility() == View.VISIBLE) {
//            sb.setChecked(false);
//            popwindow.setVisibility(View.INVISIBLE);
//        } else {
//            finish();
//        }
//    }
//}
